BALCHECKHR PERFORMANCE CHECK



Once you set up the BalcheckHR board and a working motherboard, you can follow the
procedure below to confirm proper operation of some of the BalcheckHR programming.
Refer to the BalcheckHR user manual "Set Up" doc for MCM Design's recommended set
up.

 
Normally, MCM Design would recommend using the SCRIBBLING overlay and
relabeling it to match the BalcheckHR keypad layout. For this performance check,
however, the standard keypad labels can be used and are indicated in parenthesis
following the designated BalcheckHR layout key.

STANDARD BALCHECK TESTS

When BalcheckHR is powered on and the system reset button is pushed, the dual
7-segment display normally initializes to - - (dash dash). This display
initialization indicates the Z80 CPU and the ROM chip are both operating enough to
jump to the Balcheck program at address 2000H. The standard Balcheck test routines
are then executed 4 times, if no error is found. During these tests, the dual
display counts up in seconds. The audio ports are exercised at the end of each
pass. At the end of the 4th pass, the screen is blacked out, except for a blue 2
byte rectangle near the middle of the screen. It  takes about 19 seconds to
execute 4 passes. If no error is detected during the 4 passes, the display stops
counting and outputs E1 to indicate the tests have "passed". Refer to the
BalcheckHR user manual for details on these standard tests.


Performance Checks
Display initializes to - - (dash dash) after reset button is pushed.
Display counts up to 19 during 4 passes.
Each pass ends with audio outputs.
Display outputs E1 after 4th pass.
Screen is blacked out with only a blue 2 byte rectangle visible.


Press key Q/S (1), before the end of the 4th pass, to execute nonstop standard
Balcheck tests. When in this nonstop mode, the display will then switch to a
hour/minute "run time" clock, alternating in hours and minutes only, keeping
time up to 9:59:59, if no error is detected. When the time limit is reached, the
display will reset to zero and begin a new run time. The display does not indicate
elapsed seconds.


Performance Checks
Press Q/S (1) key before the end of the 4th pass (seconds count is 19 on display).
Display will switch and alternate with hours and minutes.
Balcheck will repeat tests nonstop (unless an error is eventually detected).


During this nonstop Balcheck tests mode, wait 2 minutes and then plug in a hand
control into the hand control jack #1 in back of the motherboard. Balcheck will
report an error after this plug in. If an error is not reported after plug in,
turn the pot clockwise a little. The error report sequence will be output to the
dual 7-segment display as follows:

14   error code 14, pot error
][   custom character indicating info byte follows next
1C   input port 1C, pot #1 is in error
HE
LP
0h   elapsed hours run time
XX   elapsed minutes run time, 02 if the error detected occured at 2 minutes
1.9 sec blank display.

The error report sequence will repeat until you press the system reset button.


Performance Checks
Wait until "minutes" reaches 02 during nonstop Balcheck tests mode.
Plug hand control into hand control jack #1.
Error report sequence reads 14  ][  1C  HE  LP  0h  02  1.9 sec blank.
Error report sequence keeps repeating.

Note: If you don't press the Q/S (1) key before the end of the 4th pass, but
      press it after the 4th pass, you will turn on the display's hr/min clock,
      but no tests will be executed.

Performance Check
After the 4th pass of Balcheck tests, while the TV screen is blacked out, press
the Q/S (1) key.
Display will switch and alternate in hours and minutes.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


CHECKSUM TEST

The commercial Balcheck checksum test has been revised to pass the two 8KB
single ROM chip checksums A4 and FC. To check an earlier four 2KB ROM chips
motherboard, hold down key 8 (the "division" key) and then press the system
reset button. However, for this performance check, there will be only 1 pass
executed and Balcheck will report a checksum error 00 on the display, IF you
are checking this feature using a single 8KB ROM chip motherboard. The
checksum error 00 indicates the first 2KB ROM chip 0000-07FFH has a checksum
error. The error code displayed is 03.


Perform A Simulated Four 2KB Motherboard Check Using One 8KB Chip Motherboard

Hold down key 8 (division key), then press the reset button.
Error report sequence is 03  ][  00  HE  LP  1.9 sec blank.
Error report keeps repeating.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

OPTIONAL BALCHECK TEST ROUTINES

Optional Balcheck test routines can be executed after pressing the system reset
button, then pressing the appropriate key as indicated below.

Refer to the BalcheckHR user manual for details on these optional routines.
These routines will NOT execute if screen RAM is not operating properly.


1(C)  Memory Read Loop
          Enter 4000 (% - - - keys).
          Press CE to clear an entry.
          Continuous read of 4000H. 
          No visible sign of execution.

2(UP) Memory Write Loop
          Enter byte to write FF (6 6 keys).
          Display outputs FF.
          Enter 4000 (% - - - keys).
          Screen byte at 4000H is all yellow.
          Continuous write at 4000H.

3(Down) Input Port Read Loop
          No way to check execution of this routine.

4(%)  Output Port Write Loop
          Enter write port 04 (- % keys) which is color reg 4.
          Display outputs 04.
          Enter byte to write F9 (6 7 keys), blue
          Changes screen RAM background color to blue.
          Continuous loop.

5(MR) Memory Write And Read Loop
          Test like 2(Up) key above.

6(MS) Monitor Device Input Ports
           Press a key in each column top to bottom to monitor input on screen.
           You can also test hand controller/input jacks.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


OPTIONAL CUSTOM WRITE AND READ LOOPS

These 2 routines will execute immediately following Balcheck's initialization of
the dual display to - - (dash dash), even if the screen RAM is not operating.
 
Press the system reset button and run the 4 passes of Balcheck tests, so the
screen will be cleared.

Then, hold down key 0 (- minus) while pressing the system reset button.
This routine loops continuously writing one byte to screen RAM address 4696H,
attempting to display pixel colors red yel red yel.

Press system reset button again and run the 4 passes of Balcheck tests, so the
screen is cleared.

Then, hold down key C (X times) while pressing the system reset button.
This routine attempts to write one byte to screen RAM address 4696H displaying
pixel colors red yel red yel, then loops continuously reading this address.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

OPTIONAL DEMOS

Optional demos can be executed after pressing the system reset button, then
pressing the appropriate key as indicated below.

9 (7) MCM Design Title Page

7 (CH) Crash Test Demo (10 fish + elapsed timer)
         The background color can be changed to light blue by pushing any key
         in the right most column.

         This demo can be used to check if a motherboard will run a long time
         without "crashing" or producing screen "gliches". The elapsed timer
         will display up to 9:59:59 and will then reset to zero.

A (8)  New Checkmate Demo
         100 rounds nonstop. No "pizza break" (pause) is taken.
         Displays "DEMO OVER" at the end of the 100th round.

B (9)  Test dual 7-segment display and display screen test patterns
          The dual display counts up from 00 to FF in hexadecimal and then
          repeats.

          The lower case b, which represents hexadecimal B, is very similar
          to the number 6. The hex D is displayed using a lower case d.

          Three test patterns are displayed repetitively during the up count.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

SETSCREEN3

This diagnostic tool takes some time to understand what the tool is attempting to
do. Refer to the BalcheckHR user manual for details.

For now, just check to see if Setscreen3 is performing as indicated below.

Hold down S3 (equal = ) key and press the system reset button to execute
SetScreen3.

The screen will be split in the middle with 2 areas of color filled at the top
of the screen. On the left, yellow and black and on the right, maroon and
blue. Note the screen below this area is not filled or cleared. You may also
see pixels (saved data) in the bottom 2 lines of the screen RAM area. Also,
1 byte will be written at each corner of the screen RAM area with a white
byte on the left corners and a light orange byte on the right corners.

SetScreen3 also goes into a tight run loop waiting for a key to be pressed.
To terminate the loop and "Halt" the Z80 CPU, press the CE key. When halted,
nothing will happen when you press any key on the keypad.




USING COLUMN 3

Place again, SetScreen3 in a tight run loop, by holding down the S3 (equal = )
key and pressing the reset button, so it will scan the keypad. The left most
column 3 will execute 4 pixel write routines or a screen fill write routine.

Press the designated key below to execute a write pixel routine or a screen
fill routine.


1 (C)           Write pixel 1
5 (MR)            "   pixel 3
9 (7)             "   pixel 0
D (4)             "   pixel 2

Q/S (1)         Fill screen


The normal pixel colors written on the screen are:

pass  left side      right side
  1   black (blank)  blue (blank)
  2   white          orange
  3   yellow         maroon
  4   green          magenta

You can tell which pixel is being emphacized by its location with respect to the
vertical split screen line. Pixel designations are pixel 3 2 1 or 0 with 0 being
the rightmost pixel in each screen RAM byte.

Four passes of pixel colors are written for each pixel emphacized. They are for
each pass, in the order of there appearance, black (blank), white, yellow and
green on the left and blue (blank), light orange, maroon and magenta (light
blue/green) on the right of the split screen. The respective pixel bit color
values are 00 01 10 and 11.

The pass number (01 thru 04) is output to the dual display and indicates the
pass in progress on the TV screen. Pass 1 is the "blank" pass.

To speed up/slow down the pass (write) speed, press any key in column 2.
Six speeds are possible.




USING THE COLUMN 1 WRITE AND READ ROUTINES


This column is new with 6 write and read byte routines which execute multiple
automatic write/reads for each key that is pressed. The column is intended to
help determine if the Z80 CPU is having difficulty reading screen RAM, that is,
the Z80 may be writing data to RAM correctly, but may not be reading that data
correctly. The user can watch the TV/monitor screen and dual display for write
and read attempts made by the Z80 CPU.

Column 1 provides the option of up to 6 screen RAM byte addresses (locations)
that can be written to and read from automatically. They are 4000, 4014, 4027,
4FC8, 4FDC and 4FEF, which are the 4 corner screen RAM bytes and the 2 top and
bottom lines, in the center of the each line.

When you press a key in column 1, the routine writes 00, 55, AA and FF to that
specific screen RAM location. The byte is read after it is written to. The
specific screen RAM address and each read are output to the dual display. The
routine will continue this write and read sequence nonstop until the system
reset button is pressed.

When you press a key in column 1, watch first the display to see if it is
outputing the correct RAM location and then reading the written bytes as 00,
55, AA and FF. Then, check the TV screen to see if the correct byte colors are
being displayed at the specific RAM location as shown below.

Press the system reset button so SetScreen3 will run in a tight loop to scan
the keypad. Then, press the desired key in column 1.



                             SCREEN RAM LOCATIONS

4000                                4014                                4027










4FC8                                4FDC                                4FEF




        NORMAL                             COLOR
write           read           left side             right side  

 00              00              black                 blue
 55              55              white             light orange (looks like gray?)
 AA              AA              yellow            maroon (looks like black?)
 FF              FF              green             magenta (light blue/green)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

SIMULATE BAD RAM CHIP

If you have a motherboard with socketed RAM chips, you can simulate a
performance check with a RAM error code 04. The RAM chip layout is shown below and
is also documented in the Bally PA-1 service manual, which is archived at the
BallyAlley.com website.

U27-D3          U31-D7
U26-D2          U30-D6
U25-D1          U29-D5
U24-D0          U28-D4

The error code sequence for a RAM/video data line error is:

04   error code
][   custom character indicating info/data byte error follows next
XX   error data byte, indicating a video data/RAM bit line is in error,
     where bit 7 of this byte represents video data line 7,
     where bit 6 of this byte represents video data line 6 and so on.
     The error data will be displayed in hexadecimal form. You do NOT have to
     consult an interpretation table. 
HE
LP
1.9 sec blank display



Tests

Power off motherboard.
Remove the RAM chip indicated below.
Power on motherboard and press the system reset button to execute Balcheck tests.

Remove the 3 chips indicated below, one at a time and test for an error.
Do not replace any chip until you finish running 3 tests.

When you power on the motherboard, watch the dual display, not the TV screen.
Expect the TV screen to remain black (blank) during the 3 tests.

With a RAM chip missing on the motherboard, when you power on the motherboard
and press the system reset button, the dual display should read:

 - - (dash dash)  The display is initialized first.
Balcheck should quickly detect an error.
The error code sequence is then displayed repeatedly.



CHIP TO REMOVE      DATA LINE    DATA LINE(S) IN ERROR        EXPECTED
                   DESIGNATION   WHERE SET BIT = 1 =      DISPLAY DATA ERROR
                                 ERROR OCCURED             NUMBER IS IN HEX
                                 BITS 7 6 5 4   3 2 1 0 
A. Remove chip U26     MD2            0 0 0 0   0 1 0 0          04
B. Remove ALSO U29     MD5            0 0 1 0   0 1 0 0          24
C. Remove ALSO U31     MD7            1 0 1 0   0 1 0 0          A4



After the above 3 tests, install the 3 chips back into their sockets.
Run the Balcheck tests again.
This time you should get the normal 4 passes of tests and an output of E1 to the
display indicating the motherboard passed all Balcheck tests.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

OPTIONAL USER RAM TESTS


Optional user RAM tests can be executed after pressing the system reset button,
then pressing the appropriate key as indicated below.

These routines are intended to test the user RAM on MCM Design's low/hi-res
Astrocade.

For other user RAM add ons, the user must provide a ribbon cable adapter to
simultaneously plug in the user RAM add-on plus the BalcheckHR board.

If the user RAM is "write protected", it will generate a data error of FF,
indicating all 8 data lines are in error.

With no user RAM connected to the motherboard, a data error of FF will be
displayed.

User RAM addresses being tested will be displayed on the TV screen.

The dual display will increment test passes up to 99 test passes and then will
reset to zero if testing is continued. 


Performance  Checks
You can run these checks with no user RAM. The data error reported will be FF.
D (4)    Test user RAM 6000-7FFFH.
         Pass time = 9 sec. Pass time with error report delay = 18 sec.

E (5)    Test user RAM 8000-FFFFH.
         Pass time = 39 sec. Pass time with error report delay = 78 sec.
 
TUR (Decimal point)   Test user RAM inputing from keypad start address, bank
                      size and bank number

                      To test 1K bytes of user RAM at 8000H:
                      Enter 8000 (division - - -) for start address.
                      Enter 01 (- C) for bank size and 01 (- C) for bank number.

                      TV screen will display RAM TEST 8000-83FF.              

                      Repeat above test with bank number 20 (up arrow -).
                      TV screen will display RAM TEST FC00-FFFF.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

HIGH-RESOLUTION DEMOS

Optional hi-res demos can be executed on a "modified for hi-res" motherboard after
pressing the system reset button, then pressing the appropriate key as indicated
below.

F  (6)         Screen RAM Test (or demo)
                     Nonstop, unless an error is reported.
                     Error sequence is:
                     ][ 01 XX 02 XX 03 XX 04 XX 1.9 sec blank
                     where 01 02 03 and 04 are the bank numbers and
                     XX = data error byte indicating which video data line(s) are
                     in error, defined same as above low-res data error.

HD1 (3)        Original Hi-Res Test Demo
                     Written in the 1980's to test MCM Design's hi-res Astrocade.
                     Displays moving critter, wagon and fish in tank along with
                     multiple magic static graphics and more. Screen shot and
                     demo description are archived at BallyAlley.com.

HD2 (2)        10 color nonstop textured test patterns with color variations. 

HD3 (CE)       Pixel Stringer
                     New demo in Sept 2018. Demo is MCM Design's encore
                     presentation for the 8K byte BalcheckHR package.
                     16 second nonstop, randomized shows display a growing one
                     pixel wide string with multiple variations in colors, write
                     speeds and pixel origins which showpiece all those tiny
                     hi-res pixels.  This demo is a hi-res custom chip set
                     exclusive.

HD4 (0)         Low-res ROM running on a hi-res screen map.
                     Low-res menu and four on-board programs are split on the top
                     quarter of the hi-res TV screen.
 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

SetScreenHR

Similar To SetScreen3 above, but runs in hi-res.
NO tight run loop is utilized.

To execute SetScreenHR, hold down SX (plus +) key, then press the system reset
button.

To execute optional SetScreenHR routines similar to SetScreen3 described above,
hold down both the specific key in column 3 (or column 1) and hold down SX
(plus +) key with your left fingers, then press the system reset button with your
right finger.

Column 1 write/read RAM locations are:

4000            4028            404F


7F70            7F98            7FBF




End of document
MCM Design
Dec 2018
